.TH __malloc_unlock 3 "" "" ""
.SH SYNOPSIS
__malloc_lock, __malloc_unlock \- lock malloc pool
.SH ANSI_SYNOPSIS
#include <malloc.h>
.br
void __malloc_lock (struct _reent *
.IR reent );
.br
void __malloc_unlock (struct _reent *
.IR reent );
.br
.SH TRAD_SYNOPSIS
void __malloc_lock(
.IR reent )
.br
struct _reent *
.IR reent ;
.br

void __malloc_unlock(
.IR reent )
.br
struct _reent *
.IR reent ;
.br
.SH DESCRIPTION
The 
.BR malloc 
family of routines call these functions when they need
to lock the memory pool. The version of these routines supplied in
the library does not do anything. If multiple threads of execution
can call 
.BR malloc ,
or if 
.BR malloc 
can be called reentrantly, then
you need to define your own versions of these functions in order to
safely lock the memory pool during a call. If you do not, the memory
pool may become corrupted.

A call to 
.BR malloc 
may call 
.BR __malloc_lock 
recursively; that is,
the sequence of calls may go 
.BR __malloc_lock ,
.BR __malloc_lock ,
.BR __malloc_unlock ,
.BR __malloc_unlock .
Any implementation of these
routines must be careful to avoid causing a thread to wait for a lock
that it already holds.
.SH SOURCE
src/newlib/libc/stdlib/mlock.c
